﻿--1. 为赵云此人进行开户开卡操作，赵云身份证：420107199904054233
		declare @AccountID int
		insert into AccountInfo(AccountCode,AccountPhone,RealName,OpenTime)
		values ('420107199904054233','13554789654','赵云',GETDATE())
		set @AccountID=@@identity
		insert into BankCard(CardNo,AccountId,CardPwd,CardMoney,CardState,CardTime)
		values ('6225125698745612',@AccountID,'123456','60000.00','1',GETDATE())


--2. 需要求出张飞的银行卡卡号和余额，张飞身份证：420107199602034138  （1.使用连接查询，2.使用变量）
	declare @yu money
	declare @ka varchar(50)
	select @yu = CardMoney,@ka =CardNo from AccountInfo a  
	inner join BankCard b on a.AccountId=b.AccountId
	where AccountCode='420107199602034138'
	print @ka
	print @yu


​--3.某用户银行卡号为“6225547854125656”，该用户执行取钱操作，取钱5000元，余额充足则进行取钱操作，并提示"取钱成功"，否则提示“余额不足”。
	declare @qian money
	select @qian = CardMoney from BankCard
	where CardNo='6225547854125656'
	print @qian
if @qian>5000 
	begin
		update BankCard set  CardMoney=@qian - 5000 where  CardNo='6225547854125656'
		insert into CardExchange(CardNo,MoneyInBank,MoneyOutBank,ExchangeTime)
		values ('6225547854125656',0,5000,GETDATE());
	end
else
	begin
		print '余额不足';
	end
print @qian
	


​--4.查询银行卡信息，将银行卡状态1,2,3,4分别转换为汉字“正常,挂失,冻结,注销”，并且根据银行卡余额显示银行卡等级 30万以下为“普通用户”,30万及以上为"VIP用户"，  

--显示列分别为卡号，身份证，姓名，余额，用户等级，银行卡状态。
	select CardNo 卡号,AccountCode 身份证,RealName 姓名,CardMoney 余额,
	case
				when CardMoney>300000 then 'VIP客户'
				else '普通用户'
	end 用户等级,

	case 
				when CardState=1 then'正常'
				when CardState=2 then'挂失'
				when CardState=3 then'冻结'
				else'注销'
	end 银行卡状态

	from BankCard b
	inner join AccountInfo a on a.AccountId = b.AccountId



​--5.循环打印1-10。
 declare @mart int =1
 while @mart<10
	begin
				print @mart
				set @mart =@mart+1
	end
print @mart

​--6.打印99乘法表